#ifndef __TTY_H_
#define __TTY_H_

#include <type.h>
#include <ds/ring_buffer.h>

/**
 * background color 0 - 7
 * foreground color 0 - 15
 */
#define VGA_COLOR_BLACK 0
#define VGA_COLOR_BLUE 1
#define VGA_COLOR_GREEN 2
#define VGA_COLOR_CYAN 3
#define VGA_COLOR_RED 4
#define VGA_COLOR_MAGENTA 5
#define VGA_COLOR_BROWN 6
#define VGA_COLOR_WHITE 7

#define VGA_COLOR_GREY 8
#define VGA_COLOR_LIGHT_BLUE 9
#define VGA_COLOR_LIGHT_GREEN 10
#define VGA_COLOR_LIGHT_CYAN 11
#define VGA_COLOR_LIGHT_RED 12
#define VGA_COLOR_LIGHT_MAGENTA 13
#define VGA_COLOR_YELLOW 14
#define VGA_COLOR_LIGHT_WHITE 15

void tty_init(u16* fb);

void tty_flush_buffer(rbuffer_t* buf);

void tty_set_theme(u16 fg, u16 bg);

#endif // __TTY_H_